//引入regeneratorRuntime.js
const regeneratorRuntime=require('./lib/regenerator-runtime.js')
const util=require('./utils/util.js')
const networkUtil=require('./utils/networkutil.js')
const networkUtilV2=require('./utils/networkUtilV2.js')
const versionUpdate=require('./utils/versionUpdate.js')

//app.js
App({
    onLaunch: function() {
        /**
         * 1、微信小程序版本更新，若有新版本则更新并提示用户。
         */
        versionUpdate.autoUpdate()

        /**
         * 2、获取用户的openId信息。
         */
        //获取本地存储的openId
        let that = this
        that.globalData.openId = wx.getStorageSync('openId') || '';

        /**
         * 若openId为空字符串，则请求后台并获取openId。
         */
        if (that.globalData.openId == '') {
            // 登录
            wx.login({
                success: res => {
                    /**
                     * 发送res.code到后台换取openId,sessionKey,unionId
                     */
                    let url = that.globalData.baseUrl + '/user/getOpenIdByCode'
                    let requestData={
                        code: res.code
                    }
                    networkUtil.request_get(url,requestData).then((res)=>{
                        //若已获取到openId
                        that.globalData.openId = res.data;
                        wx.setStorageSync('openId', that.globalData.openId);

                        if (that.openIdReadyCallback) {
                            that.openIdReadyCallback(res)
                        }
                    }).catch((res)=>{
                        //若未获取到openId
                        console.error("app.js 根据res.code请求后台并获取openId,发生错误!", res)
                        util.showToast("根据res.code获取openId,出错!")
                    })
                }
            })
        }

        /*// 获取用户信息
        wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                    // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
                    wx.getUserInfo({
                        success: res => {
                            // 可以将 res 发送给后台解码出 unionId
                            this.globalData.userInfo = res.userInfo

                            // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                            // 所以此处加入 callback 以防止这种情况
                            if (this.userInfoReadyCallback) {
                                this.userInfoReadyCallback(res)
                            }
                        }
                    })
                }
            }
        })*/
    },
    
    globalData: {
		/**
		 * 1、相关全局变量
		 */
        //微信端用户信息
        userInfo: null,

        openId: null,
        wxUser: null,
        token: null,
        functionModels: null,

		/**
		 * url前缀配置
		 */
        //baseUrl: "http://localhost:8802/inner/api/icard/",
        //baseUrl: "http://chenjiawei0.xicp.net:30133/",
        //baseUrl: "http://localhost:8804/",
        //baseUrl: "http://10.10.70.72:8802/inner/api/icard",
		//正式环境地址
        baseUrl: "https://wx.sz-dsbj.com:8802/inner/api/icard/",
        
        
        //成功,错误标识
        SUCCESS_STR: "success",
        ERROR_STR: "error",
        
		/**
		 * 2、相关js文件的引用
		 */
		regeneratorRuntime,
        networkUtil,
        networkUtilV2,
		util,








    }
})
